# docker 安装esView 并挂载数据卷到宿主机
# 李广龙





# 会在DATAPATH目录下创建esView文件夹 并在内部放其配置文件
# 端口不要与 已有的容器端口冲突 包括停止的
DATAPATH="/data"
PORT="8090"
SERVICE_NAME="esView"

creatStart(){
#    docker pull mysql:5.7
    # -v "$DATAPATH"/mysql/bin:/usr/bin:rw \
    # && mkdir -p "$DATAPATH"/mysql/bin
    mkdir -p "$DATAPATH"/esView/data && mkdir -p "$DATAPATH"/esView/config && mkdir -p "$DATAPATH"/esView/logs
    cd "$DATAPATH"/esView/config || exit
    creatMycnf
    start

}
creatMycnf(){
cat > ./config.yml << EOF
log:
   storageDays: 4          # 日志保留天数
   logDir: "logs"         # 日志保留文件夹
port: 8090              # 启动端口
dbType: "mysql"       # 数据保留类型 分为 sqlite3 和 mysql
sqlite:                 # dbType为sqlite3时填 dbPath为数据保存文件地址
   dbPath: "es_view.db"
mysql:                  # dbType为mysql时填
   username: "root"
   pwd: "eaglemysql!@"
   ip: "172.210.1.204"
   port: "3307"
   dbName: "es_view"
   maxOpenConns: 10
   maxIdleConns: 10
appSecret: "eagleeagle@qq.com" # jwt 加密密钥
esPwdSecret: "concat_mail!!->eagleeagle@qq.com" # es密码加密密钥 加密方式为 AES
version: "1.8.5"  # ES 版本号
deBug: false      # 是否为测试模式 如果为 false则打开默认浏览器直接访问地址

EOF
}

start(){
    docker run \
    --name "$SERVICE_NAME" \
    -p "$PORT":8090 \
    -v "$DATAPATH"/esView/data:/data \
    -v "$DATAPATH"/esView/config:/config \
    -v "$DATAPATH"/esView/logs:/logs \
    --restart=always \
    -d kecikeci/elastic_view
    docker ps
    echo "运行成功"
}


read -p '输入功能编号0创建挂载运行 1挂载运行: (任意键退出)' input
echo "输入编号:$input"

case $input in
    0)
    creatStart
    ;;
    1)
    start
    ;;
    *)
    echo -e "${RED}退出sh脚本${RES}"
    exit 0
    ;;
  esac
